package fr.unice.servlet;



import java.io.*;
import java.util.Iterator;
import java.util.List;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.output.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Cette page permet de parser un fichier xml
 * @author zakaria
 */
public class lectureXML {
   static org.jdom.Document document;
   static Element racine ;
   private String email, nom, prenom, password, confirme;

    public lectureXML() {
    }


    public void ouverture(String fichier){
            //On crée une instance de SAXBuilder
      SAXBuilder sxb = new SAXBuilder();
      try
      {
         //On crée un nouveau document JDOM avec en argument le fichier XML
         //Le parsing est terminé ;)
         document = sxb.build(new File(fichier));
      }
      catch(Exception e){}

      //On initialise un nouvel élément racine avec l'élément racine du document.
      racine = document.getRootElement();

    }

     static void afficheALL()
        {
            //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
            List listCours = racine.getChildren("Utilisateur");
           
            //On crée un Iterator sur notre liste
            Iterator i =  listCours.iterator();
            while(i.hasNext())
            {
            //On recrée l'Element courant à chaque tour de boucle afin de
            //pouvoir utiliser les méthodes propres aux Element comme :
            //selectionner un noeud fils, modifier du texte, etc...
            Element courant = (Element)i.next();
          


           List jP=courant.getChildren();

           Iterator j =  jP.iterator();
           while(j.hasNext())
            {
                Element courant2 = (Element)j.next();
                if (courant2.getChildren().size()>0){
                  
                }else{
                   
                }
                System.out.println(" courant 2 : "+courant2.getName()+" -- "+courant2.getValue());
            }

            //On affiche le nom de l'element courant
            System.out.println("  -- test : "+ courant.getChild("Password").getText());
            }

        }
    public  int verifierIdentification(String login, String password)
        {
        int retour = 100;
            //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
            List ListUsers = racine.getChildren("Utilisateur");
            
            //On crée un Iterator sur notre liste
            Iterator i =  ListUsers.iterator();
            while(i.hasNext())
            {
            //On recrée l'Element courant à chaque tour de boucle afin de
            //pouvoir utiliser les méthodes propres aux Element comme :
            //selectionner un noeud fils, modifier du texte, etc...
            Element courant = (Element)i.next();
            if(courant.getAttributeValue("Login").equals(login)){
                retour = 1;
                if(courant.getChild("Password").getText().equals(password)){
                    retour = 2;
                    
                      email = courant.getChild("Email").getText();
                      password = courant.getChild("Password").getText();
                      confirme = courant.getChild("Confirme").getText();


                    break;
                } else {
                    retour = 3;
                }
                break;

            }
            }
return retour;
        }

    public String getConfirme() {
        return confirme;
    }

    public String getEmail() {
        return email;
    }

    public String getNom() {
        return nom;
    }

    public String getPassword() {
        return password;
    }

    public String getPrenom() {
        return prenom;
    }

     /*    public static void main(String[] args)
          {
             lectureXML lx=new lectureXML();
             lx.ouverture("users.xml");
             lectureXML.afficheALL();
         }*/



//Verifier si le login est déjà prit
         public static  int VerifierExistanceLogin(String login)
        {
        int retour = 0;
            //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
        
        List ListUsers = racine.getChildren("Utilisateur");

            //On crée un Iterator sur notre liste
            Iterator i =  ListUsers.iterator();
            while(i.hasNext())
            {
            //On recrée l'Element courant à chaque tour de boucle afin de
            //pouvoir utiliser les méthodes propres aux Element comme :
            //selectionner un noeud fils, modifier du texte, etc...
            Element courant = (Element)i.next();
            if(courant.getAttributeValue("Login").equals(login)){
                retour = 1;

                break;

            }
            }
return retour;
        }



public static int VerifierExistanceEmail(String mail)
        {
        int retour = 0;
            //On crée une List contenant tous les noeuds "etudiant" de l'Element racine
            List ListUsers = racine.getChildren("Utilisateur");

            //On crée un Iterator sur notre liste
            Iterator i =  ListUsers.iterator();
            while(i.hasNext())
            {
            //On recrée l'Element courant à chaque tour de boucle afin de
            //pouvoir utiliser les méthodes propres aux Element comme :
            //selectionner un noeud fils, modifier du texte, etc...
            Element courant = (Element)i.next();
           
                if(courant.getChild("Email").getText().equals(mail)){
                    retour = 1;
                    


                    break;
                }
            }
return retour;
        }

    public static Document getDocument() {
        return document;
    }

    public static Element getRacine() {
        return racine;
    }














}